package com.ftg.learn.util;

import org.apache.ibatis.jdbc.SQL;

/**
 * @author kangjx
 * @date 2022/10/27
 */
public class MapperUtilSql {

    /**
     * 用于拼接复杂分页的显示数量sql
     * @param start  开始位置
     * @param limit  显示条目
     * @param sql    语句
     * @return   String 语句
     */
    public String pageUtilSql(int start, int limit, String sql){
        return new SQL().SELECT("*")
                .FROM("(" + sql + " ) t")
                .OFFSET(start)
                .LIMIT(limit).toString();
    }

    /**
     * 直接查询
     * @param sql    语句
     * @return   String 语句
     */
    public String utilSelect(String sql){
        return new SQL().SELECT("*")
                .FROM("(" + sql + " ) t").toString();
    }

    /**
     * 用于拼接复杂sql语句总条目数
     * @param sql  语句
     * @return  String
     */
    public String countUtil(String sql){
        return new SQL().SELECT("count(1) num")
                .FROM("(" + sql + " ) t").toString();
    }

}
